1. Field of the Invention
The present invention relates to a system for transferring data and, in particular, a data transfer system that is comprised of two separate data movement operations.
2. Description of the Related Art
In a virtual memory architecture, a functional virtual volume, track or other data set points to an actual physical data storage space in a group of direct access storage devices (DASDs), such as a group of hard disk drives. The DASDs are partitioned into groups called arrays. The data to which a functional volume points can be positioned anywhere in any of the physical storage arrays. Virtual architecture systems are implemented in International Business Machine Corporation's (IBM) RAMAC.TM. Virtual Array systems ("RAMAC") and Storage Technology Corporation's StorageTek Iceberg.TM. 9200 subsystem. IBM is the assignee of the subject patent application.
In these virtual architecture systems, the host system views functional volumes that a storage subsystem typically maps to an array of physical DASD devices managed by the subsystem. In the IBM RAMAC system, the host system generates and maintains a Functional Device Table (FDT) that includes information on all functional volumes defined in the system. Each functional volume is comprised of a number of functional tracks. A Functional Track Directory (FTD) is a table that maps each functional track within a functional volume to a physical location in the DASD.
The IBM RAMAC and Storage Technology Corporation's StorageTek Iceberg.TM. 9200 subsystem include a software feature referred to as SnapShot.TM.. SnapShot involves a virtual duplication function that copies the address information describing the physical storage locations a functional data set or volume addresses to another functional volume or data set without moving the actual data. Thus, after a SnapShot, there are two sets, e.g., a source volume and target volume, of addresses to the same physical locations. The host system views the source and target volumes, i.e., the two sets of pointers, as two separate entities. The time taken to make the SnapShot copy is minimal compared to actually moving the data as only address information is copied, not the actual data. SnapShot dramatically reduces time, CPU costs, channel utilization, and storage space expenses normally required for data duplication.
In a virtual disk architecture, such as RAMAC, updates to the source and target volumes are made to new DASD locations. An update to a functional track is made by writing data to a new physical location and updating the functional track to address this new physical location. Thus, an update to one of the copies of the addresses does not effect the addressing of the other copy. However, after the update, the functional track addresses the DASD location storing the updated data and does not address the DASD location storing the old data. For instance, after a SnapShot, the functional tracks within two separate functional volumes A and B address the same physical locations on the DASD. An update to a functional track in either functional volume does not affect the addressing in the other volume.
In performing address duplication, such as SnapShot, it is often necessary to perform at least two separate data movement operations. For instance, the first data movement may involve moving data from a source volume, modifying such data, and then transferring the data to a target volume. The second data movement operation may then involve copying all the address pointers from the source to target volume. A problem may arise in such dual data movement operations because the address duplication operation is not aware of the first data movement operation. FIGS. 1A and B illustrate this problem in a SnapShot copy of address information from source tracks 1-5 to target tracks 6-10. At step 1 of the SnapShot address duplication procedure, shown in FIG. 1A, functional track 2 of volume A addresses physical location A in the DASD. In the first data movement operation, the host system moves the data in cylinder A to cylinder E. Cylinder E is addressed by functional track 7 in Volume B. In certain instances, the host system may modify or alter the data transferred from physical location A in the DASD before copying it to physical location E.
At step 2, shown in FIG. 1B, the address pointers of volume A are copied to volume B. As can be seen from the result of Step 2, in volume B, functional track 7 no longer addresses physical location E. Thus, the data movement from the first operation was negated by the second data movement operation which rearranged the addressing of volume B to that of volume A. This problem may arise in any address duplication method which involves a first data movement followed by a duplication of the address information.
The problem illustrated in FIGS. 1A and B may occur during a SnapShot copy operation when the Volume Table of Contents (VTOC) is copied during an initial data movement operation from the source to the target. The VTOC is a data set that resides on a DASD volume and describes the contents of that volume. The VTOC is comprised of data set control blocks (DSCBs) that describe the type and/or location of data sets on that volume of contiguous areas of unassigned space. The VTOC may reside at different locations on a DASD volume. Each volume has a unique VTOC. When performing a SnapShot of a volume, the host system first copies the VTOC data for volume A, modifies the copied VTOC to reflect the structure of volume B, and then transfers the modified volume B VTOC to a new physical location in the DASD. The target functional track addressing the target VTOC may be different than the source functional track addressing the physical location storing the source VTOC. During the subsequent address duplication procedure, the functional tracks of the target will be changed to address the same physical locations as the source functional tracks. The second data movement operation modifies the target addressing so that the target functional track previously addressing the target VTOC location will no longer address the location of the target VTOC.